SWE (Snow Water Equivalent) represents the amount of liquid water stored in the snowpack,
i.e. the depth of water that would result if the snow were completely melted. It is a key
variable for hydrology, runoff forecasting, and water resources in snow-dominated regions.
مكافئ مياه الثلج: كمية المياه (بالمليمتر أو كجم/م²) المخزنة في الغطاء الثلجي،
إذا تم إذابة كل الثلج وتحويله إلى ماء سائل.
1. Scientific Definition
Snow Water Equivalent (SWE) is defined as the depth or mass of water per
unit area contained in a snowpack. It combines both snow depth and
snow density and is usually expressed in mm (equivalent
water depth) or kg/m².
Basic Physical Formula
For in-situ measurements:
SWE = (ρsnow / ρwater) × SnowDepthUnits: mm or kg/m²
ρsnow – density of snow (kg/m³)
ρwater – density of liquid water (~1000 kg/m³)
SnowDepth – snow depth (m)
Typical Interpretation (Remote Sensing / Models)
SWE (mm)
Interpretation
0 – 10
Very shallow snow / traces
10 – 50
Light to moderate snowpack
50 – 150
Significant snow water storage
> 150
Deep snowpack – high runoff potential during melt
Thresholds depend strongly on climate and basin characteristics. They must be calibrated
for each region using in-situ snow courses or snow pillow observations.
Main Applications
Seasonal runoff and river discharge forecasting
Water resources management in snow-fed basins
Flood risk assessment during snowmelt
Climate change impact studies on snow and water storage
2. Data & Sources
Model-based SWE (Recommended Example)
NASA/FLDAS/NOAH01/C_GL/M/V001 – FEWS NET Land Data Assimilation System (FLDAS)
Variable: SWE_inst – Snow Water Equivalent (kg/m²)
Temporal resolution: monthly
Spatial resolution: 0.1° (~10 km)
Other Possible Sources
GLDAS NOAH land surface models (SWE_inst)
Global reanalysis products providing SWE
Regional / national SWE datasets (snow pillows, snow surveys)
Best Practices
Mask out non-snow areas using snow cover or temperature thresholds.
Aggregate SWE over basins or elevation bands to support hydrological modelling.
Compare model-based SWE with in-situ measurements if available.
Use time series of SWE to analyse interannual variability and trends.
3. Google Earth Engine Code – SWE (FLDAS SWE_inst)
// SWE – Snow Water Equivalent using FLDAS NOAH
// Dataset: NASA/FLDAS/NOAH01/C_GL/M/V001
// Variable: SWE_inst (kg/m^2) ~ mm of water
var roi = geometry; // Draw AOI as 'geometry'
Map.centerObject(roi, 6);
// 1. Load FLDAS monthly data
var fldas = ee.ImageCollection("NASA/FLDAS/NOAH01/C_GL/M/V001")
.filterBounds(roi)
.filterDate("2015-01-01", "2015-12-31") // choose your period
.select("SWE_inst"); // Snow Water Equivalent
// 2. Mean SWE over the selected period
var sweMean = fldas.mean().clip(roi)
.rename("SWE");
// Convert from kg/m^2 to mm (1 kg/m^2 ≈ 1 mm water depth)
var swe_mm = sweMean.rename("SWE_mm");
// 3. Visualization
var vis = {
min: 0,
max: 200, // adjust depending on region
palette: ["#0b1120","#1f2937","#1d4ed8","#3b82f6","#93c5fd","#e0f2fe"]
};
Map.addLayer(swe_mm, vis, "Mean SWE (mm)");
// 4. Mask zero / no-snow areas for clarity
var sweMask = swe_mm.gt(5).selfMask(); // e.g. SWE > 5 mm
Map.addLayer(
sweMask,
{min: 5, max: 200, palette: ["#1d4ed8","#3b82f6","#93c5fd","#e0f2fe"]},
"SWE > 5 mm (Snowpack)",
false
);
// 5. Basin-average SWE time series (example)
var basin = roi; // use basin polygon if available
var sweChart = ui.Chart.image.series({
imageCollection: fldas,
region: basin,
reducer: ee.Reducer.mean(),
scale: 10000,
xProperty: "system:time_start"
})
.setOptions({
title: "Basin-mean SWE (kg/m² ≈ mm)",
hAxis: {title: "Date"},
vAxis: {title: "SWE (mm)"},
lineWidth: 2,
pointSize: 0
});
print("Basin SWE Time Series", sweChart);
// 6. Export SWE map as GeoTIFF
Export.image.toDrive({
image: swe_mm,
description: "SWE_FL_DAS_2015",
fileNamePrefix: "SWE_FL_DAS_2015_mm",
region: roi,
scale: 10000,
crs: "EPSG:4326",
maxPixels: 1e13
});